Skip to content

Follow Python standard packaging guidelines#292

Merged
jan-janssen merged 1 commit intomainfrom
src
Jan 8, 2026
Merged

Follow Python standard packaging guidelines#292
jan-janssen merged 1 commit intomainfrom
src

Conversation

@jan-janssen
Copy link
Copy Markdown
Member

@jan-janssen jan-janssen commented Jan 8, 2026

Summary by CodeRabbit

  • Chores
    • Updated project build configuration and continuous integration workflows to reflect project structure reorganization.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Jan 8, 2026

📝 Walkthrough

Walkthrough

This pull request migrates the project package structure from a top-level layout to a src-layout. Path references across CI workflows and the build configuration are updated to reflect the new location of the package under a src/ directory, including updates to version file paths and build tool configurations.

Changes

Cohort / File(s) Summary
CI Workflow Files
.github/workflows/deploy.yml, .github/workflows/pipeline.yml
Updated file paths to reference the new src/pyiron_lammps/ location in git ignore rules and Black formatter configuration
Build Configuration
pyproject.toml
Updated Hatch build configuration, version file paths, and coverage settings to use the new src/pyiron_lammps/ layout instead of top-level pyiron_lammps/

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Poem

🐰 Hop, hop, the package takes flight,
To src/ it moves, oh what a sight!
Workflows and configs all in a row,
New paths to follow, watch it grow! 📦✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Follow Python standard packaging guidelines' accurately reflects the main change: migrating the project to a src-layout structure, which is indeed a Python standard packaging guideline.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@codecov
Copy link
Copy Markdown

codecov bot commented Jan 8, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.95%. Comparing base (202ec5d) to head (bee5111).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #292       +/-   ##
===========================================
- Coverage   92.75%   81.95%   -10.80%     
===========================================
  Files           8       10        +2     
  Lines         980     1125      +145     
===========================================
+ Hits          909      922       +13     
- Misses         71      203      +132     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (1)
pyproject.toml (1)

74-76: Review the coverage configuration change.

The coverage configuration has changed from using omit to using source. Based on the AI summary, the previous configuration excluded pyiron_lammps/_version.py and tests/* from coverage reports. The new configuration only specifies the source but doesn't exclude these files.

Consider whether you want to preserve the exclusions for auto-generated files:

[tool.coverage.run]
source = ["pyiron_lammps"]
command_line = "-m unittest discover tests"
omit = ["src/pyiron_lammps/_version.py"]

Including auto-generated version files in coverage reports is typically not desired as they artificially lower coverage metrics.

📜 Review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 202ec5d and bee5111.

📒 Files selected for processing (14)
  • .github/workflows/deploy.yml
  • .github/workflows/pipeline.yml
  • pyproject.toml
  • src/pyiron_lammps/__init__.py
  • src/pyiron_lammps/_version.py
  • src/pyiron_lammps/compatibility/__init__.py
  • src/pyiron_lammps/compatibility/calculate.py
  • src/pyiron_lammps/compatibility/constraints.py
  • src/pyiron_lammps/compatibility/file.py
  • src/pyiron_lammps/compatibility/structure.py
  • src/pyiron_lammps/output.py
  • src/pyiron_lammps/potential.py
  • src/pyiron_lammps/structure.py
  • src/pyiron_lammps/units.py
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: unittest_matrix (windows-latest, 3.14)
🔇 Additional comments (8)
.github/workflows/pipeline.yml (2)

16-16: LGTM! Black path updated correctly for src-layout.

The Black source path has been correctly updated to reflect the new src-layout structure.


32-32: LGTM! Consistent path update.

The Black source path in the auto-fix job is correctly updated to match the new src-layout structure.

.github/workflows/deploy.yml (1)

35-35: LGTM! Version file path updated correctly.

The git ignore path correctly reflects the new location of the version file under the src-layout structure.

pyproject.toml (5)

52-55: LGTM! Build include path updated correctly.

The include path correctly specifies the package location under the src-layout structure.


57-58: LGTM! Version file path updated correctly.

The version file path correctly reflects its new location in the src-layout structure.


60-63: LGTM! Source distribution include path updated correctly.

The sdist target correctly includes the package from its new src-layout location.


70-72: LGTM! Version path updated correctly.

The version path correctly reflects the new src-layout structure, consistent with the VCS hook configuration.


65-68: The current configuration is correct. For Hatch projects using src-layout, the packages directive in [tool.hatch.build.targets.wheel] should include the src/ prefix. This is the documented and correct approach: packages = ["src/pyiron_lammps"] properly configures Hatch to package files from src/pyiron_lammps as the pyiron_lammps package in the wheel.

Likely an incorrect or invalid review comment.

@jan-janssen jan-janssen merged commit a329e12 into main Jan 8, 2026
20 of 21 checks passed
@jan-janssen jan-janssen deleted the src branch January 8, 2026 14:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant